<?php
/**
 * Description of Db_Hoofdstuk
 *
 * @author Nick Swartelé
 */

require_once FILE_DB_DATABASE;
require_once FILE_DB_SUBKOP;

class DbHoofdstuk extends Database {    
    
    private $hoofdstuk_id;
    private $hoofdstuk_nr = '';
    private $beschrijving = '';

    public function __construct(){
        
        parent::__construct();

    }
    
    public function save ($beschrijving, $hoofdstuk_nr) {    
        
        if (
            !empty ($hoofdstuk_nr) &&
            !empty ($beschrijving)
            ){

            $query = "INSERT INTO hoofdstuk (hoofdstuk_nr, beschrijving)
                        VALUES (
                                '" . mysql_real_escape_string($hoofdstuk_nr) . "',
                                '" . mysql_real_escape_string($beschrijving) . "')";
           
            if (DEBUG_LVL & DEBUG_LVL_QUERY)  echo __FILE__ . ' ' . __LINE__ .': ' .$query . '<br />';
            
            if (!$this->dbquery($query)){
              
                throw new Exception(DBHOOFDSTUK_ERROR_VERWERKINGSFOUT);
                
            }
            
            // Update class attr
            $this->hoofdstuk_id = mysql_insert_id();
            $this->hoofdstuk_nr = $hoofdstuk_nr;
            $this->beschrijving = $beschrijving;

            return TRUE;
            
            
        } else {
            
            
            return FALSE;
        }
        
    }
    
        public function update($hoofdstuk_nr, $beschrijving){

            if (
       
                !empty ($hoofdstuk_nr) &&
                !empty ($beschrijving)
            ){
            
            $query = "UPDATE hoofdstuk SET 
                        hoofdstuk_nr = '" . mysql_real_escape_string($hoofdstuk_nr) . "', 
                        beschrijving = '" . mysql_real_escape_string($beschrijving) . "' 
                        WHERE hoofdstuk . hoofdstuk_id ='" . mysql_real_escape_string($this->hoofdstuk_id) . "'";
            
            if (!$this->db_mysql_query($query)){
                throw new Exception(DB_ERROR_NIETVERWERKT);
            }
            
            if (DEBUG_LVL & DEBUG_LVL_QUERY)  echo __FILE__ . ' ' . __LINE__ .': ' .$query . '<br />';

            
//            $this->hoofdstuk_id = $hoofdstuk_id;
            $this->hoofdstuk_nr = $hoofdstuk_nr;
            $this->beschrijving = $beschrijving;
            
            return true;
            
        } else {
            throw new Exception(DB_ERROR_INVOERFOUT);
        }
    }
    
    
        public function delete($id){
            
        $query = "DELETE FROM hoofdstuk WHERE hoofdstuk . hoofdstuk_id = '" . mysql_real_escape_string($id) . "'  LIMIT 1 ";
       
        if (!$this->dbquery($query)){
            throw new Exception(DB_ERROR_INVOERFOUT);  
              return FALSE;
        }
        else {
            return TRUE;
        }    
     
    }
    
    public function selectIds(){
            
        if($this->dbquery("SELECT * FROM `subkop` WHERE hoofdstuk_id = $this->hoofdstuk_id LIMIT 0, 30 ")) {
            
            // Controle of er iets gevonden is in de databasehoofdstuk_idhoofdstuk_id
            if($this->dbNumRows() >= 1){

                foreach($this->dbFetchAll() as $row) {

                echo "<pre>";
                                var_dump ($row);
                echo "</pre>";

                    return $row["subkop_id"];

                }
            } else {
              
                echo DBHOOFDSTUK_ERROR_GEENRESULTAAT;
            }
        } else {
            throw new Exception (DB_ERROR_COULDNOTSELECT);
        }

    //        $query = "SELECT subkop_id FROM `subkop` WHERE hoofdstuk_id = $this->hoofdstuk_id LIMIT 0, 30 ";
    //       
    //        $getids = $this->dbMysqlFetchAll($query);
    //         
    //        echo "<pre>";
    //        var_dump ($getids);
    //        echo "</pre>";

    //        $array = array("Nummer een", "Nummer twee", "Nummer drie");
    //        echo $array[0];
    //        
    //        foreach ($getids as $id) {
    //            $i = 0;
    //                $i++;  
    //                $this->array = $getids;
    //}

        if (DEBUG_LVL & DEBUG_LVL_QUERY)  echo __FILE__ . ' ' . __LINE__ .': ' .$query . '<br />';

    $this->reset();

    }
   
//    private function get($hoofdstuk_id){
//        
//        $query = mysql_query("SELECT * FROM hoofdstuk WHERE hoofdstuk_id = '" . mysql_real_escape_string($this->hoofdstuk_id) . "' LIMIT 1 ");
//        if (!$res = mysql_fetch_object($query)){
//
//            $this->reset();
//            throw new Exception("Er is iets mis gegaan tijdens het ophalen van de gegevens.");
//        }
//        
//        $this->hoofdstuk_id = $hoofdstuk_id;
//        $this->hoofdstuk_nr = $res->hoofdstuk_nr;
//        $this->beschrijving = $res->beschrijving;
//        
//        if (DEBUG_LVL & DEBUG_LVL_QUERY) echo __FILE__ . ' ' . __LINE__ .': ' .$query . '<br />';
//    }
    
        // Functie om alle hoofdstukken op te halen uit de database.
        public function getHoofdstukOverzicht(){

        if($this->dbquery("SELECT * FROM hoofdstuk GROUP BY hoofdstuk_nr")) {
            
            // Controle of er iets gevonden is in de database
            if($this->dbNumRows() >= 1){
                                   
           $hoofdstukoverzicht = $this->dbFetchAll();
     
               return $hoofdstukoverzicht;
         
            //Upd Class Atrributes
           $this->hoofdstuk_nr = $hoofdstukoverzicht['hoofstuk_nr'];
           $this->beschrijving = $hoofdstukoverzicht['beschrijving']; 

            } else {
                
                echo '<script>'.'alert("Geen hoofdstukken gevonden!")'.'</script>';
            }
        } else {
             $this->reset();
            throw new Exception (DB_ERROR_COULDNOTSELECT);
        }

        if (DEBUG_LVL & DEBUG_LVL_QUERY)  echo __FILE__ . ' ' . __LINE__ .': ' .$this->dbquery . '<br />';

       
    }
    
    //Fucntie om alle Subkoppen bij het bijbehorende hoofdstuk uit de DB te halen
    public function getSubkopOverzicht($hoofdstuk_nr){
            
                      if($this->dbquery("SELECT * FROM subkop WHERE hoofdstuk_nr = $hoofdstuk_nr")) {
                        
                        // Controle of er iets gevonden is in de database
                        if($this->dbNumRows() >= 1){
                            
                            $subkoppen = $this->dbFetchAll();
                            return $subkoppen;
                            
                        } else {
                            echo "Geen subkoppen gevonden!";
                        }
                    } else {
                        throw new Exception (DB_ERROR_COULDNOTSELECT);
                    }
    }

    public function getHoofdstukId(){
        return $this->hoofdstuk_id;
    }

    public function getHoofdstukNr(){
        return $this->hoofdstuk_nr;
    }
    
    public function getBeschrijving(){
        return $this->beschrijving;
    }
    
    public function getSelectIds(){
       
    }
    
    public function setSelectIds(){
        
    }
    
    private function reset(){
        
        $this->hoofdstuk_id = '';
        $this->hoofdstuk_nr = '';
        $this->beschrijving = '';
    }
    
//    public function __destruct(){
//        parent::__destruct();
//    } 
}

class TestDbHoofdstuk {
    
    public function TestDbHoofdstuk(){
        try {
            
//            $save = new DbHoofdstuk();
//            $save->save(1, 'Dit is een test.');
            
            $update = new DbHoofdstuk(1); 
            $update->update(1,'Testjen');
            
//            $delete = new DbHoofdstuk();
//            $delete->delete();
            
        } catch (Exception $e){
            echo '<pre>';
            echo 'Caught exception: ',  $e->getMessage(), "\n";
            echo '</pre>';
        }
    }
}

?>
